package com.oocl.hgl.crm.service;

import java.io.Serializable;
import java.util.List;

import com.oocl.hgl.crm.entity.Person;
import com.oocl.hgl.crm.util.DoubleLinkedList;

public interface PersionService {
	
	public static final int MALE_VALUE = 0;
	public static final int FEMALE_VALUE = 1;
	
	public static final String MALE_VIEW = "male";
	public static final String FEMALE_VIEW = "female";
	
	/**
	 * 查看所有
	 * @return
	 */
	public DoubleLinkedList<Person> list();
	/**
	 * 根据姓名查询
	 * @param name
	 * @return
	 */
	public DoubleLinkedList<Person> queryByName(String name);
	/**
	 * 添加
	 * @param p
	 * @return
	 */
	public Person add(Person p);
	/**
	 * 根据 id 删除
	 * @param id
	 * @return
	 */
	public Person get(Serializable id);
	/**
	 * 根据 id 删除
	 * @param id
	 * @return
	 */
	public Person delete(Serializable id);
	/**
	 * 根据 id 更新
	 * @param id
	 * @param p
	 * @return
	 */
	public Person update(Serializable id,Person p);
	/**
	 * 根据姓名排序
	 * @return
	 */
	public DoubleLinkedList<Person> sortByName();
	/**
	 * 根据 id 排序
	 * @return
	 */
	public DoubleLinkedList<Person> sortById();
	
}
